Inserting information into playing content

ABSTRACT

Example methods and systems for inserting information into playing content are described. In some example embodiments, the methods and systems may identify a break in content playing via a playback device, select an information segment representative of information received by the playback device to present during the identified break, and insert the information segment into the content playing via the playback device upon an occurrence of the identified break.

RELATED APPLICATIONS

This patent is a continuation of U.S. patent application Ser. No.17/001,229, filed Aug. 24, 2021, entitled “INSERTING INFORMATION INTOPLAYING CONTENT,” now U.S. Pat. No. 11,176,195, which is a continuationof U.S. patent application Ser. No. 16/417,317, filed May 20, 2019,entitled “INSERTING INFORMATION INTO PLAYING CONTENT,” now U.S. Pat. No.10,754,891. U.S. patent application Ser. No. 16/417,317, filed May 20,2019, entitled “INSERTING INFORMATION INTO PLAYING CONTENT,” now U.S.Pat. No. 10,754,891, is a continuation of U.S. patent application Ser.No. 14/020,480, filed Sep. 6, 2013, entitled “INSERTING INFORMATION INTOPLAYING CONTENT,” now U.S. Pat. No. 10,318,579. Priority to U.S. patentapplication Ser. No. 14/020,480; U.S. patent application Ser. No.16/417,317; and U.S. patent application Ser. No. 17/001,229 is herebyclaimed. U.S. patent application Ser. No. 14/020,480; U.S. patentapplication Ser. No. 16/417,317; and U.S. patent application Ser. No.17/001,229 are incorporated by reference in their entireties.

TECHNICAL FIELD

The subject matter disclosed herein generally relates to the processingof data. Specifically, the present disclosure addresses systems andmethods for inserting information into playing content.

BACKGROUND

Many of the devices we use on a daily basis, such as cars, mobilephones, televisions, and so on, are capable of functioning in a varietyof ways other than as their primary function. For example, a car takesus from one location to another, but also plays music; and a mobilephone lets us call and speak to others, but also plays music, takespictures, and facilitates access to vast amounts of information. Attimes, it can be difficult and/or cumbersome to harness the manyfunctions of these devices in an efficient and useful manner. However,changing settings or preferences on a car stereo, car phone orinteracting with a car navigation system while driving may pose safetyissues. Further, certain functionality that may be preferable may beinterrupted by other functions that a device performs. For example,voice guided navigation commands may be interrupted by an incoming phonecall.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings.

FIG. 1 is a network diagram illustrating a network environment suitablefor inserting information into playing content, according to someexample embodiments.

FIG. 2 is a block diagram illustrating components of an informationinsertion engine, according to some example embodiments.

FIG. 3 is a flow diagram illustrating an example method for insertinginformation into playing content, according to some example embodiments.

FIG. 4 is a flow diagram illustrating an example method for selectinginformation to be inserted based on a ranking of selectable informationsegments, according to some example embodiments.

FIG. 5 is a flow diagram illustrating an example method for selectinginformation to be inserted based on a playback device, according to someexample embodiments.

FIG. 6 is a flow diagram illustrating an example method for selectinginformation to be inserted based on characteristics of a break inplaying content, according to some example embodiments.

FIG. 7 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein.

DETAILED DESCRIPTION

Overview

Example methods and systems for inserting information into playingcontent are described. In some example embodiments, the methods andsystems may identify a break in content playing via a playback device,select an information segment representative of information associatedwith the playback device to present during the identified break, andinsert the information segment into the content playing via the playbackdevice upon an occurrence of the identified break.

For example, the methods and systems may determine a radio broadcast isplaying on a car stereo system of a car, obtain current trafficinformation from a traffic information resource for a current route oftravel for the car and, when a currently playing song ends, cause thecar stereo system to play the traffic information. As another example,the methods and systems may determine a podcast or audio book is playingon a mobile device (e.g., smart phone), select an unread email from acontact of a user associated with the mobile device, and, when there isa break in the podcast, cause the mobile device to present an audioversion of the email. Another example is to detect if the radio stationis in the middle of a commercial and wait for the commercial break toinsert directions or to read the email once the commercial is over. Or,another example is when a user is driving by a point of interest, andthe point of interest has an advertisement campaign, then a specificadvertisement associated with the advertisement campaign may be insertedinto the audio stream at a point when there is a suitable position orbreak in the currently playing audio programming.

Therefore, the methods and systems may provide information (e.g.,current news, messages, status information, and so on) to a user who iscurrently listing, viewing, or otherwise consuming content during breaksor other suitable positions in the content, facilitating the delivery ofthe information in a seamless and unobtrusive manner, among otherthings. In an example embodiment, time shifting is enabled/performedwhen the audio break occurs and the playing of the audio content maycatch up. The playing of the audio may catch up to the real-timebroadcast over time, during breaks in programming, or dropping segments.An example of a dropped segment could be a commercial or a song,especially if the song that is pending does not fit the consumer'sprofile based on listening history, likes/dislikes, etc.

In the following description, for purposes of explanation, numerousspecific details are set forth to provide a thorough understanding ofexample embodiments. It will be evident to one skilled in the art,however, that the present subject matter may be practiced without thesespecific details.

Example Network Environment

FIG. 1 is a network diagram illustrating a network environment forinserting information into playing content, according to some exampleembodiments. The network environment 100 may include a playback device130 that receives content, such as content from a content provider 110over a network 120 (e.g., the Internet) and/or from a locally storedcontent provider 135.

The content provider 110 or the content provider 135 may be a contentsource (e.g., a broadcaster, a network, a website, an app, and so on)that provides various types of multimedia content, such as audio contentand/or video content. Example content providers 110 and 135 includeterrestrial or satellite radio stations, online music services, onlinevideo services, television broadcasters and/or distributors, networkedcomputing devices (e.g., mobile devices on a network), local video,audio or music applications, and so on.

The playback device 130 may also receive information, such asinformation from an information provider 115 over the network 120 and/orfrom a locally stored information provider 132. The information provider115 or the information provider 132 may be an information source (e.g.,an online, networked, or locally stored news source, social networkservice, messaging application, status source, and so on) that providesinformation to the playback device 130. It should be noted that thecontent (e.g., audio and/or video content) may be obtained from anysource. For example, the term “content source” is intended to includeusers, and other content owners (such as artists, labels, movie studios,etc.). In an example embodiment, the content source is a publiclyaccessible website such as YouTube™. Further, part of or all the contentmay be stored locally on the device itself thus, in certain embodiments,not necessitating network connectivity.

The networked environment 100 facilitates the communication of content,information, and other data between the playback device 130, the contentprovider 110, and/or the information provider 115 via the network 120,which may be any network or communication medium that enablescommunication between the content provider 110, the information provider115, the playback device 130, and other networked devices. For example,the network 120 may be or include a wired network, a wireless network(e.g., a mobile network), a radio or telecommunications network, asatellite network, and so on. The network 120 may include one or moreportions that constitute a private network (e.g., a cable televisionnetwork or a satellite radio network), a public network (e.g.,over-the-air broadcast channels or the Internet), a car area network(CAN), and so on.

The playback device 130 may include audio or video playback devices,such as car or personal stereo systems, televisions, set-top boxes,laptops and other personal computers, tablets and other mobile devices(e.g., smart phones), gaming devices, and/or other devices capable ofreceiving and presenting a stream of audio or video content. In someexample embodiments, the playback device 130 may include a tunerconfigured to receive a stream of audio or video content. The playbackdevice 130 plays the stream of audio or video content by processing thestream and outputting information (e.g., digital or analog) to a displayof the playback device 130 used to present or play back audio or videocontent, information, and so on, to a user associated with the playbackdevice 130. The playback device 130 may also include a display or otheruser interfaces configured to display the processed stream of contentand/or associated metadata. The display may be a flat-panel screen, aplasma screen, a light emitting diode (LED) screen, a cathode ray tube(CRT), a liquid crystal display (LCD), a projector, and so on.

In some example embodiments, the content provider 110 and/or theplayback device 130 may include one or more fingerprint generators 112or fingerprint generators 137 configured to generate identifiers forcontent being transmitted or broadcast by the content provider 110 or135 and/or received or accessed by the playback device 130. For example,the fingerprint generators 112 or 137 may include a referencefingerprint generator (e.g., a component that calculates a hash valuefrom a portion of content) that is configured to generate referencefingerprints or other identifiers of received content, among otherthings.

In some example embodiments, the playback device 130 may include or beassociated with an information insertion engine 150 configured to insertinformation into currently playing content. For example, the informationinsertion engine 150 may include components or modules that identifybreaks or other suitable times within playing content, selectinformation segments of interest to a user of the playback device 130,and cause the information segments to be presented to the user at orduring the identified breaks, among other things.

Any of the machines, databases, or devices shown in FIG. 1 may beimplemented in a general-purpose computer modified (e.g., configured orprogrammed) by software to be a special-purpose computer to perform thefunctions described herein for that machine. For example, a computersystem able to implement any one or more of the methodologies describedherein is discussed below with respect to FIG. 7 . As used herein, a“database” is a data storage resource and may store data structured as atext file, a table, a spreadsheet, a relational database, a triplestore, or any suitable combination thereof. Moreover, any two or more ofthe machines illustrated in FIG. 1 may be combined into a singlemachine, and the functions described herein for any single machine maybe subdivided among multiple machines.

Furthermore, any of the modules, systems, and/or generators may belocated at any of the machines, databases, or devices shown in the FIG.1 . For example, the information insertion engine 150 may be part of thecontent provider 110 and/or the playback device 130 (e.g., part of aCAN). As another example, the playback device 130 may include thecontent provider 110 (e.g., the playback device 130 is a mobile devicehaving a music playback application and the content provider 110 is alocal store of songs and other audio) and/or the information provider115 (e.g., the information provider 115 is a calendar application ormessaging application), among other configurations.

Examples of Inserting Information into Playing Content

As described herein, in some example embodiments, the systems andmethods broadcast, play, or otherwise insert information into determinedbreaks of content playing via the playback device 130, among otherthings. FIG. 2 is a block diagram illustrating components of theinformation insertion engine 150, according to some example embodiments.

One or more of the modules described herein may be implemented usinghardware (e.g., a processor of a machine) or a combination of hardwareand software. Moreover, any two or more of these modules may be combinedinto a single module, and the functions described herein for a singlemodule may be subdivided among multiple modules. Referring to FIG. 2 ,the information insertion engine 150 may include a content break module210, an information selection module 220, and an information insertionmodule 230. One or more of the modules 210, 220 or 230 may be providedat a remote server, a third-party server or at any other location.

In some example embodiments, the content break module 210 is configuredand/or programmed to identify a break in content playing via theplayback device 130. For example, the content break module 210 mayidentify a break in content by comparing a fingerprint of the playingcontent to a group of reference fingerprints to identify the content,and any breaks, playing via the playback device 130, may identify thebreak in content based on metadata associated with the playing content,may identify the break in content based on audio and/or videocharacteristics of the playing content, and so on.

In some example embodiments, the information selection module 220 isconfigured and/or programmed to select an information segmentrepresentative of information associated with the playback device 130 topresent during the identified break. Examples of information segmentsrepresentative of information associated with the playback device 130include information segments based on information captured or receivedby a messaging application of the playback device 130 (e.g., a mailclient or app of a mobile device), information captured by a locationdetermination component of the playback device 130 (e.g., a GPS devicewithin a car area network), and/or other information stored, contained,received and/or captured by other components of the playback device 130that are not associated with playing content.

The information selection module 220 may select the information segmentbased on a variety of factors. For example, the information selectionmodule 220 may rank or assign a ranking to multiple information segmentoptions, such as a ranking based on a current importance of aninformation segment relative to other information segments, determine atime window for the identified break, and select one or more informationsegments to insert into the playing content based on the assignedrankings and based on the determined time window. As another example,the information selection module 220 may identify a type of device forthe playback device 130, and select an information segment to insertinto the content playing via the playback device 130 that is associatedwith the type of device of the playback device 130. For example, theinformation selection module 220 may determine the playback device 130is a car stereo and select an information segment that presents trafficupdates, or may determine that the playback device 130 is a mobiledevice and select an information segment that is associated with amessage received via a messaging application of the mobile device, amongother things.

As another example, the information selection module 220 may determine abreak type for the break in content, and select an information segmentbased on the determined break type. For example, the informationselection module 220 may determine a break is associated with a breaktype having a limited time frame or window (e.g., similar to acommercial break), and select an information segment that fits withinthe time frame or window.

In some example embodiments, the information insertion module 230 isconfigured and/or programmed to insert the information segment into thecontent playing via the playback device 130 upon an occurrence of theidentified break. For example, the information insertion module 230 mayinsert the information segment between pieces of content that make upthe content playing via the playback device 130, may replace a portionof the playing content with the information segment, may play theinformation segment over a portion of the playing content that followsthe identified break in the playing content, and so on.

As described herein, the information insertion engine 150 may performvarious methods or processes when inserting information segments intoplaying content. FIG. 3 is a flow diagram illustrating an example method300 for inserting information into playing content, according to someexample embodiments. The method 300 may be performed by the informationinsertion engine 150 and, accordingly, is described herein merely by wayof reference thereto. It will be appreciated that the method 300 may beperformed on any suitable hardware.

In operation 310, the information insertion engine 150 identifies abreak in content playing via the playback device 130. For example, thecontent break module 210 may identify a break in content by comparing afingerprint of the playing content to a group of reference fingerprints(e.g., embedded on the playback device 130 and/or stored in the cloud)to identify the content and any breaks playing via the playback device130, may identify the break in content based on metadata associated withthe playing content, may identify the break in content based on audioand/or video characteristics of the playing content, and so on.

In operation 320, the information insertion engine 150 selects aninformation segment representative of information associated with theplayback device 130 to present during the identified break. As describedherein, example information segments that may be selected includeinformation segments based on information captured or received bynon-content playback components of the playback device 130, such asmessaging components or applications, location determination componentsor applications, device status components or applications, informationpresentation components or applications, and so on.

For example, the information selection module 220 may select theinformation segment based on a variety of factors, such as factorsassociated with a selection priority for available information segments,factors based on the type of playback device 130, factors based on atype of the identified break, factors based on a user associated withthe playback device 130, and so on.

As described herein, in some example embodiments, the informationinsertion engine 150 selects an information segment based on a rankingof available information segments. FIG. 4 is a flow diagram illustratingan example method 400 for selecting information to be inserted based ona ranking of selectable information segments, according to some exampleembodiments. The method 400 may be performed by the informationinsertion engine 150 and, accordingly, is described herein merely by wayof reference thereto. It will be appreciated that the method 400 may beperformed on any suitable hardware.

In operation 410, the information insertion engine 150 assigns a rankingto multiple information segment options, the ranking based on a currentimportance of an information segment relative to other informationsegments. For example, the information selection module 220 may rankavailable information segments based on a priority of playing theinformation segment to a user associated with the playback device 130,such as a priority associated with a timeliness of playing theinformation segment (e.g., an information segment for a traffic updateor fuel status), an importance of the information segment (e.g., anurgent message from a spouse or child), and so on.

In operation 420, the information insertion engine 150 determines a timewindow for the identified break. For example, the information selectionmodule 220 may determine the identified break has a certain time window,based on knowledge that the playing content is live and will begin toplay after a certain time, and/or has an unlimited time window, based onknowledge that new content is recorded or stored, and may be played atany time, among other things.

In operation 430, the information insertion engine 150 selects one ormore information segments to insert into the playing content based onthe assigned rankings and based on the determined time window. Forexample, the information selection module 220 may select a high or topranked information segment that fits into a determined time window forthe identified break.

In an example embodiment, the playback device 130 can communicate toother devices how long it will be busy with the current playback. Thedecisioning on when and what content to insert may then be determined byone or more other devices based on this time duration information. Forexample, if a car radio starts to play a song and its duration is known,the car radio can let the navigation system know that the song will beover after a certain time. The navigation system can then queue up allthe updates to the driver for upcoming directions or points of interest.In this example embodiment, the insertion management may still be doneon the car radio but the navigation system (or the other device) canprovide more or less information given the schedule and driving speed todestination.

As described herein, in some example embodiments, the informationinsertion engine 150 selects an information segment based on theplayback device 130. FIG. 5 is a flow diagram illustrating an examplemethod 500 for selecting information to be inserted based on theplayback device 130, according to some example embodiments. The method500 may be performed by the information insertion engine 150 and,accordingly, is described herein merely by way of reference thereto. Itwill be appreciated that the method 500 may be performed on any suitablehardware.

In operation 510, the information insertion engine 150 identifies a typeof device of the playback device 150. For example, the informationselection module 220 may determine the playback device 130 is a mobiledevice, a car stereo, a home stereo, and so on. In an exampleembodiment, the information insertion engine 150 identifies automatedactions that are triggered by the insertions, such as lowering thevolume, time shifting the programming source, choosing a voice type ordisplay design to be used based on programming content, etc. The voicetype can be modified based on the artist performing the song, voice typethat best represents the mood, location, voice type that best offsetsthe acoustic environment, etc. Display settings can be modified based onthemes, content type being inserted, etc.

In operation 520, the information insertion engine 150 selects aninformation segment to insert into the content playing via the playbackdevice 130 that is associated with the type of device of the playbackdevice 130. For example, the information selection module 220 may selectan information segment associated with a mobile device (e.g., aninformation segment associated with a message received by the mobiledevice) when the playback device 130 is a mobile device, among otherthings.

As described herein, in some example embodiments, the informationinsertion engine 150 selects an information segment based on thecharacteristics of the identified break. FIG. 6 is a flow diagramillustrating an example method 600 for selecting information to beinserted based on the characteristics of a break in playing content,according to some example embodiments. The method 600 may be performedby the information insertion engine 150 and, accordingly, is describedherein merely by way of reference thereto. It will be appreciated thatthe method 600 may be performed on any suitable hardware.

In operation 610, the information insertion engine 150 determines abreak type for the break in content. For example, the informationselection module 220 may determine the identified break is associatedwith a certain time window within a live broadcast of content, and/orthe identified break is the end of currently playing content (e.g., theend of a song) stored on the playback device 130 and may have anunlimited or unbounded time window.

In operation 620, the information insertion engine 150 selects aninformation segment based on the determined break type. For example, theinformation selection module 220 may select an information segmentassociated with the break type, such as an information segment that fitswithin a time window associated with the break and/or an informationsegment that is a segment of unknown length when the break is associatewith the end of playing content (e.g., the break is the end of thecontent), among other things.

Returning back to FIG. 3 , in operation 330, the information insertionengine 150 inserts the information segment into the content playing viathe playback device 130 upon an occurrence of the identified break. Forexample, the information insertion module 230 may insert the informationsegment between pieces of content that make up the content playing viathe playback device 130, may replace a portion of the playing contentwith the information segment, may play the information segment over aportion of the playing content that follows the identified break in theplaying content, and so on.

Thus, in some example embodiments, the information insertion engine 150performs various methods or processes to identify breaks in playingcontent and insert or otherwise play selected information segments at orduring the identified breaks, among other things. The informationinsertion engine 150 may perform such insertions of information in avariety of scenarios, including:

Identifying the end of a song playing via a car stereo and inserting atraffic report obtained from a web-based resource on a network thatincludes the car stereo;

Identifying a suitable portion of an audio stream/programming playingvia a car stereo and inserting navigation information obtained from aglobal positioning device on a network that includes the car stereo;

Identifying an end of a song playing on a current station via a carstereo and switching to a new song playing on a different station or alocal source to continue with the similar or desired playback experiencefor the user;

Identifying an end of a song playing via a mobile device and inserting amessage provided by a messaging application supported by the mobiledevice;

Identifying an end of a song playing via a mobile device and inserting anews segment obtained from a web-based resource on a network thatincludes the mobile device; and/or

Identifying a break in TV programming to automatically switch to anothersource that may be live programming, time shifted broadcast orpre-recorded content, local or in the cloud.

Of course, the information insertion engine 150 may be utilized in otherscenarios with other playback devices 130.

FIG. 7 is a block diagram illustrating components of a machine 700,according to some example embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 7 shows a diagrammatic representation of the machine700 in the example form of a computer system and within whichinstructions 724 (e.g., software) for causing the machine 700 to performany one or more of the methodologies discussed herein may be executed.In alternative embodiments, the machine 700 operates as a standalonedevice or may be connected (e.g., networked) to other machines. In anetworked deployment, the machine 700 may operate in the capacity of aserver machine or a client machine in a server-client networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment. The machine 700 may be a server computer, a clientcomputer, a personal computer, a tablet computer, a laptop computer, anetbook, an set top box, a personal digital assistant, a cellulartelephone, a smartphone, a web appliance, a network router, a networkswitch, a network bridge, or any machine capable of executing theinstructions 724 (sequentially or otherwise) that specify actions to betaken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include acollection of machines that individually or jointly execute theinstructions 724 to perform any one or more of the methodologiesdiscussed herein.

The machine 700 includes a processor 702 (e.g., a central processingunit (CPU), a graphics processing unit (GPU), a digital signal processor(DSP), an application specific integrated circuit (ASIC), aradio-frequency integrated circuit (RFIC), or any suitable combinationthereof), a main memory 704 and a static memory 706, which areconfigured to communicate with each other via a bus 708. The machine 700may further include a graphics display 710 (e.g., a plasma display panel(PDP), an LED display, an LCD, a projector, or a CRT). The machine 700may also include an alphanumeric input device 712 (e.g., a keyboard), acursor control device 714 (e.g., a mouse, a touchpad, a trackball, ajoystick, a motion sensor, or other pointing instrument), a storage unit716, a signal generation device 718 (e.g., a speaker), and a networkinterface device 720.

The storage unit 716 includes a machine-readable medium 722 on which isstored the instructions 724 (e.g., software) embodying any one or moreof the methodologies or functions described herein. The instructions 724may also reside, completely or at least partially, within the mainmemory 704, within the processor 702 (e.g., within the processor's cachememory), or both, during execution thereof by the machine 700.Accordingly, the main memory 704 and the processor 702 may be consideredas machine-readable media. The instructions 724 may be transmitted orreceived over a network 726 (e.g., network 120 of FIG. 1 ) via thenetwork interface device 720.

As used herein, the term “memory” refers to a machine-readable mediumable to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 722 is shown in an example embodiment to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storeinstructions (e.g., instructions 724). The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring instructions (e.g., software) for execution by the machine(e.g., machine 700), such that the instructions (e.g., 724), whenexecuted by one or more processors of the machine (e.g., processor 702),cause the machine (e.g., 700) to perform any one or more of themethodologies described herein. The term “machine-readable medium” shallaccordingly be taken to include, but not be limited to, a datarepository in the form of a solid-state memory, an optical medium, amagnetic medium, or any suitable combination thereof.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A “hardware module” is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain physical manner. In various exampleembodiments, one or more computer systems (e.g., a standalone computersystem, a client computer system, or a server computer system) or one ormore hardware modules of a computer system (e.g., a processor or a groupof processors) may be configured by software (e.g., an application orapplication portion) as a hardware module that operates to performcertain operations as described herein.

In some embodiments, a hardware module may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module may be a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an ASIC. A hardware module may alsoinclude programmable logic or circuitry that is temporarily configuredby software to perform certain operations. For example, a hardwaremodule may include software encompassed within a general-purposeprocessor or other programmable processor. It will be appreciated thatthe decision to implement a hardware module mechanically, in dedicatedand permanently configured circuitry, or in temporarily configuredcircuitry (e.g., configured by software) may be driven by cost and timeconsiderations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where thehardware modules comprise a general-purpose processor configured bysoftware to become a special-purpose processor, the general-purposeprocessor may be configured as respectively different hardware modulesat different times. Software may, accordingly, configure a processor,for example, to constitute a particular hardware module at one instanceof time and to constitute a different hardware module at a differentinstance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, with a processor being an example of hardware.For example, at least some of the operations of a method may beperformed by one or more processors or processor-implemented modules.Moreover, the one or more processors may also operate to supportperformance of the relevant operations in a “cloud computing”environment or as a “software as a service” (SaaS). For example, atleast some of the operations may be performed by a group of computers(as examples of machines including processors), with these operationsbeing accessible via a network (e.g., the Internet) and via one or moreappropriate interfaces (e.g., an application program interface (API)).

The performance of certain of the operations may be distributed amongthe one or more processors, not only residing within a single machine,but deployed across a number of machines. In some example embodiments,the one or more processors or processor-implemented modules may belocated in a single geographic location (e.g., within a homeenvironment, an office environment, or a server farm). In other exampleembodiments, the one or more processors or processor-implemented modulesmay be distributed across a number of geographic locations.

Some portions of this specification are presented in terms of algorithmsor symbolic representations of operations on data stored as bits orbinary digital signals within a machine memory (e.g., a computermemory). These algorithms or symbolic representations are examples oftechniques used by those of ordinary skill in the data processing artsto convey the substance of their work to others skilled in the art. Asused herein, an “algorithm” is a self-consistent sequence of operationsor similar processing leading to a desired result. In this context,algorithms and operations involve physical manipulation of physicalquantities. Typically, but not necessarily, such quantities may take theform of electrical, magnetic, or optical signals capable of beingstored, accessed, transferred, combined, compared, or otherwisemanipulated by a machine. It is convenient at times, principally forreasons of common usage, to refer to such signals using words such as“data,” “content,” “bits,” “values,” “elements,” “symbols,”“characters,” “terms,” “numbers,” “numerals,” or the like. These words,however, are merely convenient labels and are to be associated withappropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or any suitable combination thereof), registers, orother machine components that receive, store, transmit, or displayinformation. Furthermore, unless specifically stated otherwise, theterms “a” or “an” are herein used, as is common in patent documents, toinclude one or more than one instance. Finally, as used herein, theconjunction “or” refers to a non-exclusive “or,” unless specificallystated otherwise.

What is claimed is:
 1. An apparatus comprising: interface circuitry toaccess, via a network, a fingerprint and information associated with aplayback device, the fingerprint generated in response to presentationof content by the playback device; and at least one of dedicatedcircuitry that is configured to perform first operations or programmablecircuitry that is to execute instructions to perform second operations,the at least one of the dedicated circuitry or the programmablecircuitry to: compare the fingerprint to one or more referencefingerprints to determine an identification of the content, respectiveones of the one or more reference fingerprints corresponding todifferent media; identify a break in the content based on theidentification of the content; select an information segment to beinserted in the break in the content based on the information associatedwith the playback device; and cause transmission of the informationsegment to the playback device via the network.
 2. The apparatus ofclaim 1, wherein the at least one of the dedicated circuitry or theprogrammable circuitry is to identify the break in the content based onmetadata associated with the content.
 3. The apparatus of claim 1,wherein the at least one of the dedicated circuitry or the programmablecircuitry is to select the information segment based on at least one ofa ranking of the information segment relative to one or more otherinformation segments or a time window of the break.
 4. The apparatus ofclaim 3, wherein the ranking of the information segment is based on apriority of the information segment relative to the one or more otherinformation segments, the priority associated with a timeliness ofpresenting the information segment.
 5. The apparatus of claim 1, whereinthe at least one of the dedicated circuitry or the programmablecircuitry is to select the information segment based on a break type forthe break in the content.
 6. The apparatus of claim 1, wherein theinformation associated with the playback device includes a type ofdevice of the playback device.
 7. The apparatus of claim 1, wherein: theplayback device includes at least one of (1) a car stereo system of acar or (2) a mobile device; and the information segment includes atleast one of (a) current traffic information for a current route oftravel for the car, (b) a representation of an unread communication froma contact associated with the mobile device, or (c) an advertisementassociated with an advertisement campaign of a point of interest inspatial proximity to the playback device.
 8. At least one hardwaremachine-readable medium comprising instructions which, when execute,cause processor circuitry to: compare a fingerprint to one or morereference fingerprints to determine an identification of content,respective ones of the one or more reference fingerprints correspondingto different media, the fingerprint generated in response topresentation of the content by a playback device; determine a break inthe content based on the identification of the content; select aninformation segment to be inserted in the break in the content based oninformation associated with the playback device; and cause transmissionof the information segment to the playback device via a network.
 9. Theat least one hardware machine-readable medium of claim 8, wherein theinstructions, when execute, cause the processor circuitry to determinethe break in the content based on metadata associated with the content.10. The at least one hardware machine-readable medium of claim 8,wherein the instructions, when execute, cause the processor circuitry toselect the information segment based on at least one of a ranking of theinformation segment relative to one or more other information segmentsor a time window of the break.
 11. The at least one hardwaremachine-readable medium of claim 10, wherein the ranking of theinformation segment is based on a priority of the information segmentrelative to the one or more other information segments, the priorityassociated with a timeliness of presenting the information segment. 12.The at least one hardware machine-readable medium of claim 8, whereinthe instructions, when execute, cause the processor circuitry to selectthe information segment based on a break type for the break in thecontent.
 13. The at least one hardware machine-readable medium of claim8, wherein the information associated with the playback device includesa type of device of the playback device.
 14. The at least one hardwaremachine-readable medium of claim 8, wherein: the playback deviceincludes at least one of (1) a car stereo system of a car or (2) amobile device; and the information segment includes at least one of (a)current traffic information for a current route of travel for the car,(b) a representation of an unread communication from a contactassociated with the mobile device, or (c) an advertisement associatedwith an advertisement campaign of a point of interest in spatialproximity to the playback device.
 15. A method comprising: comparing afingerprint to one or more reference fingerprints to determine anidentification of content, respective ones of the one or more referencefingerprints corresponding to different media, the fingerprint generatedin response to presentation of the content by a playback device;locating a break in the content based on the identification of thecontent; selecting an information segment to be inserted in the break inthe content based on information associated with the playback device;and transmitting the information segment to the playback device via anetwork.
 16. The method of claim 15, further including locating thebreak in the content based on metadata associated with the content. 17.The method of claim 15, further including selecting the informationsegment based on at least one of a ranking of the information segmentrelative to one or more other information segments or a time window ofthe break.
 18. The method of claim 17, wherein the ranking of theinformation segment is based on a priority of the information segmentrelative to the one or more other information segments, the priorityassociated with a timeliness of presenting the information segment. 19.The method of claim 15, further including selecting the informationsegment based on a break type for the break in the content.
 20. Themethod of claim 15, wherein the information associated with the playbackdevice includes a type of device of the playback device.